import { DepositType } from '@/types/enum'
export interface TokenRequestData {
  token?: string
}

export interface PageData {
  total: number
  pageNum: number
  pageSize: number
  size: number
  startRow: number
  endRow: number
  pages: number
  prePage: number
  nextPage: number
  isFirstPage: boolean
  isLastPage: boolean
  hasPreviousPage: boolean
  hasNextPage: boolean
  navigatePages: number
  navigatepageNums: number[]
  navigateFirstPage: number
  navigateLastPage: number
  lastPage: number
  firstPage: number
}
export interface OptionsType {
  label: string
  value: string
}
export interface TableResponseData<T> extends PageData {
  list: T[]
}
/** 租用产品时长类型 */
export interface ProductType extends Record<string, any> {
  日租?: number
  周租?: number
  季租?: number
  月租?: number
  半年租?: number
  年租?: number
  按月以租代购?: number
}
/** 车辆列表里的套餐类型 */
export interface ProductDataType {
  name: string
  tags: string
  depositType: DepositType | '-'
  deposit: string | '-'
  productModel: string
}
/** 取还车地点类型 */
export interface BindAndReturnAddressType {
  storeAddressId: number
  storeId: number
  name: string
  address: string
  shortAddress: string
  serviceTime: string
  contactPhone: string
  longtitude: number
  latitude: number
  remark: string
  createdTime: string
}

/** 计费规则 */
export interface feeRulesType {
  time: string
  cost: string
  price: string
  title: string
  tips: string
}
/** 还车点 */
export interface returnLocationType {
  returnLocationsId: number //还车点ID
  longtitude: number //还车点经度
  latitude: number //纬度
  radius: number //半径（单位：米）
  address: string
}

/**
 * 退款时填写的支付宝信息
 * @param aliName 支付宝昵称
 * @param aliAccount 支付宝账号
 */
export interface AliPayRefundData {
  aliName: string
  aliAccount: string
}
/**
 * 退款时填写的银行卡信息
 * @param bankName 银行开户行
 * @param bankBranchName 银行开户支行
 * @param username 用户姓名
 * @param card 银行卡号
 */
export interface BankRefundData {
  bankName: string
  bankBranchName: string
  username: string
  card: string
}
export interface tradeExtensionDataType {
  expenses: OptionsType[]
  deduction?: OptionsType[]
  rest: OptionsType[]
  rideInfo: OptionsType[]
  refund: OptionsType[]
  pay: OptionsType[]
}
